在所有東西開始之前 記得先把 Code 推上你的 Repo喔
set up a workflow yourself
ci.yml
# 這個 Action 的名子
name: CI Workflow
# 要在哪個 branch 上面
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:
on
的部分要注意,因為我有改過預設 branch
的名稱,所以會是 master
,如果沒有的話這裡要寫 main
workflow_dispatch
是選擇性選項,看你要不要手動跑剛剛都說是 Workflow 了, 所以 yml 裡面當然是由很多個 task 組成的
我們要執行測試 , 所以當然要把測試寫進去
整個 yml 大概要寫成這樣的流程
接著把它寫進 yml 裡面
jobs:
build-and-test:
runs-on: ubuntu-latest
# 剛剛上面講的流程
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
- name: Checkout code
uses: actions/checkout@v2
- name: Fetch required Go modules
run: go mod download
# 這個不一定要加
- name: Build
run: go build -v
- name: Build Docker image
uses: docker/build-push-action@v2
with:
push: false
tags: ${{ github.event.repository.name }}:latest, ${{ github.repository }}:latest
- name: Run functional tests
run: go test -v
寫完之後,按一下右上角的Start Commit,然後寫Commit Message
寫完後可以看Action的地方有沒有跑成功,沒有跑成功的話記得看一下 Error Log 根據 Error Log 去修 Bug
我自己在跑的時候有遇到 Go 版本問題導致 CI 跑錯 所以可以注意一下